package com.sykj.cloud.system.mapper;

import com.sykj.cloud.system.domain.SysUserRole;

import java.util.List;

/**
 * 系统用户角色Mapper接口
 *
 * @author mr.will
 * @date 2021-03-23
 */
public interface SysUserRoleMapper
{
    /**
     * 新增系统用户角色
     *
     * @param sysUserRole 系统用户角色
     * @return 结果
     */
    int insertSysUserRole(SysUserRole sysUserRole);


    /**
     * 批量新增用户角色信息
     *
     * @param userRoleList 用户角色列表
     * @return 结果
     */
    int batchUserRole(List<SysUserRole> userRoleList);

    /**
     * 修改系统用户角色
     *
     * @param sysUserRole 系统用户角色
     * @return 结果
     */
    int updateSysUserRole(SysUserRole sysUserRole);

    /**
     * 删除系统用户角色
     *
     * @param guid 系统用户角色ID
     * @return 结果
     */
    int deleteSysUserRoleById(String guid);

    /**
     * 通过用户ID删除用户和角色关联
     *
     * @param userId 用户ID
     * @return 结果
     */
    int deleteUserRoleByUserId(String userId);

    /**
     * 批量删除系统用户角色
     *
     * @param guids 需要删除的数据ID
     * @return 结果
     */
    int deleteSysUserRoleByIds(String[] guids);


    /**
     * 查询系统用户角色
     *
     * @param guid 系统用户角色ID
     * @return 系统用户角色
     */
     SysUserRole getSysUserRoleById(String guid);

    /**
     * 查询系统用户角色列表
     *
     * @param sysUserRole 系统用户角色
     * @return 系统用户角色集合
     */
    List<SysUserRole> listSysUserRoles(SysUserRole sysUserRole);

}
